package com.code.model.bo.wallet;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 相关交易公用的类
 *
 * @author tangyifei
 */
@Data
public class TranBase extends ExWalletdBase {

    /**
     * 币种id
     */
    private Long coinId;

    /**
     * app的标识
     */
    private String appId;

    /**
     * 交易id
     */
    private String txid;

    /**
     * 交易时间
     */
    private Date txTime;

    /**
     * 交易开始时间
     */
    private Date txTimeStart;

    /**
     * 交易结束时间
     */
    private Date txTimeEnd;

    /**
     * 交易发起方地址
     */
    private String fromAddr;

    /**
     * 交易接收方地址
     */
    private String toAddr;

    /**
     * 如果一个交易中可以有多个operation或者tx out，则可能一笔交易中包含多笔提现充值，这时用op_num区分
     */
    private Integer opNum;

    /**
     * 交易金额
     */
    private BigDecimal amount;

    /**
     * 交易手续费
     */
    private BigDecimal fee;

    /**
     * 提现状态, 0: init, 1: online(sent to chain but not in block) 2. pending(in block but not have safe blocks) 3. done 4. failed
     */
    private Integer state;

    /**
     * 充值的确认数、提现的确认数
     */
    private Integer confirmations;

    /**
     * 块高
     */
    private Long blockHeight;

    /**
     * 块的hash
     */
    private String blockHash;

}
